<?php
namespace Admin\Controller;

use Admin\Model\MemberModel as Member;

class PublicController extends AdminController {

    /**
     * 新用户注册.
     * Post为表单提交，Get为显示页面.使用了Member容器实例
     *
     * @param null $username
     * @param null $password
     * @param null $mobile
     * @param null $email
     */
    public function register($username = null, $mobile = null, $email = null, $password = null){

        if ( IS_POST ) {
            $data = array(
                'username'  =>  $username,
                'mobile'    =>  $mobile,
                'email'     =>  $email,
                'password'  =>  $password
            );
            $uid = $this['Member']->register($data);
            if ( 0< $uid ) {    // 注册成功
                $this->success('注册成功',U('Index/index'));
            } else {    // 注册失败，显示错误信息
                $this->error(static::app('Member')->showRegError($uid));
            }
        } else {
            $this->display();
        }
    }


    /**
     * 后台用户登录
     */
    public function login($username = null, $password = null, $verify = null){
        if(IS_POST){

            // 检测验证码
            if ( !check_verify($verify) ) {
                //$this->error('验证码输入错误');
            }


            // 执行登录，返回结果
            $user_uid = $this['Member']->login($username, $password);

            if(0 < $user_uid){
                // 通过用户认证
                $this->success('登录成功！', U('Index/index'));
            }else {
                //登录失败
                switch($user_uid) {
                    case -1: $error = '用户不存在或被禁用！'; break; //系统级别禁用
                    case -2: $error = '密码错误！'; break;
                    default: $error = '未知错误！'; break; // 0-接口参数错误（调试阶段使用）
                }
                $this->error($error);
            }
        } else {
            // 如果仅是打开登录页

            // 检查登录的函数 is_login
            if(is_login()){
                $this->redirect('Index/index');
            }else{

                // 显示登录页面
                $this->display();
            }
        }
    }

    /**
     * 退出登录.
     */
    public function logout(){
        $this['Member']->logout();
        if(is_login()){
            $this->success('退出成功！', U('Public/login'));
        } else {
            $this->redirect('login');
        }
    }

    /**
     * 验证码图片生成
     */
    public function verify(){
        $verify = new \Think\Verify();
        $verify->entry(1);
    }


}